﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Siav
{
    public partial class frmUsuarios : Form
    {
        SiavEntities Entidades = new SiavEntities();
        public void LimpaCampos()
        {
            tCodigo.Text = string.Empty;
            txtNomeUsuario.Text = string.Empty;
            txtSenha.Text = string.Empty;
            txtEmail.Text = string.Empty;
            txtNomeUsuario.Focus();

        }
        public void CarregaProdutos()
        {
            lstProdutos.Items.Clear();

            var Prods = (from p in Entidades.Usuarios
                         select p).ToList();
            foreach (Usuarios Pig in Prods)
            {
                ListViewItem item = new ListViewItem();
                item.Text = Pig.CodigoUsuario.ToString();
                item.SubItems.Add(Pig.Usuario);
                item.SubItems.Add(Pig.Email);
                lstProdutos.Items.Add(item);
            }
            LimpaCampos();
        }
        public frmUsuarios()
        {
            InitializeComponent();
        }
      

        private void btnNovo_Click(object sender, EventArgs e)
        {
            LimpaCampos();
        }

        private void btnSalvar_Click(object sender, EventArgs e)
        {
            if (tCodigo.Text == "")
            {
                Usuarios Pig = new Usuarios();
                Pig.Usuario = txtNomeUsuario.Text;
                Pig.Senha = txtSenha.Text;
                Pig.Email = txtEmail.Text;
                Entidades.AddObject("Usuarios", Pig);
                Entidades.SaveChanges();
                CarregaProdutos();
            }
            else
            {
                int Codigo = int.Parse(tCodigo.Text);
                var Pig = (from p in Entidades.Usuarios
                           where p.CodigoUsuario.Equals(Codigo)
                           select p).First();
                Pig.Usuario = txtNomeUsuario.Text;
                Pig.Senha = txtSenha.Text;
                Pig.Email = txtEmail.Text;
                Entidades.SaveChanges();
                CarregaProdutos();
            }
        }

        private void btnExcluir_Click(object sender, EventArgs e)
        {
            if (tCodigo.Text != "")
            {
                int Codigo = int.Parse(tCodigo.Text);
                if (MessageBox.Show("Tem certeza que deseja excluir o item selecionado?", "Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    var Excluir = (from Pro in Entidades.Usuarios
                                   where Pro.CodigoUsuario.Equals(Codigo)
                                   select Pro).First();

                    Entidades.DeleteObject(Excluir);
                    Entidades.SaveChanges();
                    MessageBox.Show("Item Excluido com sucesso", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    CarregaProdutos();
                }
            }
        }

        private void btnSair_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void lstProdutos_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                int pcodigo = int.Parse(lstProdutos.SelectedItems[0].Text.ToString());
                var Valor = (from v in Entidades.Usuarios
                             where v.CodigoUsuario.Equals(pcodigo)
                             select v).First();
                tCodigo.Text = Valor.CodigoUsuario.ToString();
                txtNomeUsuario.Text = Valor.Usuario;
                txtSenha.Text = Valor.Senha;
                txtEmail.Text = Valor.Email;
            }
            catch
            {

            }
        }
        private void frmUsuarios_Load(object sender, EventArgs e)
        {
            CarregaProdutos();
        }
    }
}
